<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<html>
<head>
<!--
    Copyright 2007-2008 by Matthias Buch-Kromann <mbk.isv@cbs.dk>.
   
    This file is part of the Open-source Dependency Toolkit (OSDT),
    see http://code.google.com/p/open-source-dependency-toolkit. 
 
    The OSDT is free software: you can redistribute it and/or modify
    it under the terms of the GNU Lesser General Public License as published
    by the Free Software Foundation, either version 3 of the License,
    or (at your option) any later version.

    The OSDT is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU Lesser General Public License for more details.
 
    You should have received a copy of the GNU Lesser General Public License
    along with the OSDT in the file COPYING and COPYING.LESSER. If not, see
    http://www.gnu.org/licenses.
-->
</head>
<body bgcolor="white">

<p>Provides classes and interfaces for representing linguistic structures that
can be used to interpret and modify the components of a graph, such as dependency analyses,
word alignments, etc.</p>

<h2>Package Specification</h2>

<p>Basically, a linguistic structure provides a linguistic interpretation of 
a subgraph within a graph, whereas the graph itself is just an uninterpreted collection
of layers, nodes, and edges. A graph may have many associated linguistic 
structures, and the linguistic structures may be nested, ie, a linguistic structure
(such as a dependency graph) may be composed of simpler linguistic structures (such
as linear structures for word order, dependency trees, landing trees, etc.).
A linguistic structure provides specialized access to the corresponding subgraph 
in the graph object and makes sure that you only modify the graph in a way that 
is compatible with the linguistic structure. This means that the linguistic structure is 
the natural locus for structural integrity checking, specialized operations, and 
optimizations wrt. function computations. In general, 
applications should never modify or query graphs directly, but rather use a lingustic
structure to perform the actual operations. In particular, repair operations 
are always defined on linguistic structures rather than on uninterpreted 
graphs directly.</p>

<p>A modified graph inherits its linguistic structures from its base graph. This
means that the linguistic structure cannot be hard-linked to a particular graph,
but rather provides a way of interpreting a graph and its successive modifications.</p>

<h2>Demos</h2>

The use of views is illustrated in the following demos (located in the test package
org.osdtsystem.demo):

<ul>
    <li> DependencyAlignmentDemo: how to create a dependency alignment from a source
    dependency tree, a target dependency tree, and an arbitrary word alignment. 
</ul>


<h2>Related Documentation</h2>

<!-- Put @see and @since tags down here. -->

</body>
</html>
